-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[python/ci] Stop wheel-smoke-test failures for MacOS > 11 #2620
Conversation
7da2348
to
3edc8d9
Compare
07b905a
to
f933cd5
Compare
Manual debug run: |
Manual debug run with the copy strategy from 0d85de6: |
Manual debug run: |
a671bc6
to
41dc4e3
Compare
Debug run with new verbosities/clarities, but, building and smoke-testing on macos 11: Same but without even the rename: |
Manual debug run trying |
Experiment |
Commit b39b87d revealing |
a7f7032
to
b39b87d
Compare
I ran an EC2 macos14 instance with the help of @nguyenv -- it installed the wheel without problem. Also note:
where the first one is per @eric-hughes-tiledb and the second is what I've been using. So this EC2 MacOS instance does not self-report as So, useful info, but, does not allow me to interact with a failing macos system:
|
At this point I've spent a day and a half of solid debug trying to find out why
Proving that this is a CI-only issue. I cannot justify further loss of valuable time chasing into this GHA-infra issue at present. I've filed #2634 to follow up. |
Manual run for commit 9ef7e16: |
* [python/ci] Debug MacOS 14 wheel-smoke-test issue * no ticket-cut for experiments * more * more * try `CMAKE_OSX_DEPLOYMENT_TARGET` * try the cp strategy * try again * more * narrow list of installables at smoke-test time * debug fail in last * neaten * abandon non-functional idea * typofox * neaten * iterating * experimenting with the old way to test narrative * typofix * debug * macos 11 experiment over; back to macos 14 * pip install -vv for smoke test * attempt macos arm64 * try `pip install` -> `python -m pip install` * try macos12 x86_64 and macos14 arm64 * debug * follow-up issue 2634
) * [python/ci] Debug MacOS 14 wheel-smoke-test issue * no ticket-cut for experiments * more * more * try `CMAKE_OSX_DEPLOYMENT_TARGET` * try the cp strategy * try again * more * narrow list of installables at smoke-test time * debug fail in last * neaten * abandon non-functional idea * typofox * neaten * iterating * experimenting with the old way to test narrative * typofix * debug * macos 11 experiment over; back to macos 14 * pip install -vv for smoke test * attempt macos arm64 * try `pip install` -> `python -m pip install` * try macos12 x86_64 and macos14 arm64 * debug * follow-up issue 2634 Co-authored-by: John Kerl <[email protected]>
Problem
Our current package-release CI is broken. It requires manual wheel-publish as at
https://github.com/single-cell-data/TileDB-SOMA/wiki/PyPI-packaging-notes
CI failures are like
https://github.com/single-cell-data/TileDB-SOMA/actions/runs/9189052757
following the well-intentioned but fateful #2491.
Also nightly wheel-build failures such as #2630.
Cause
Debugging reveals:
macos-11,macos-12
tomacos-12,macos-latest
#2491 moved Python wheel-builds from macos 11 and 12 to 14 and 12python -c 'from distutils import util; print(util.get_platform())'
at build-wheel time and smoke-test-wheel timemacosx-10.9-universal2
macosx-10.9-universal2
macosx_11
in its filename :(Created wheel for tiledbsoma: filename=tiledbsoma-1.11.2.post0.dev4180921687-cp38-cp38-macosx_11_0_x86_64.whl
util.get_platform()
saysmacosx-10.9-universal2
and yet there is no wheel for 10.9 -- only 11.0pip install
of a wheel with eithermacosx_10_9
ormacosx_11_0
in its wheel-file name succeedsAttempted solutions
CMAKE_OSX_DEPLOYMENT_TARGET: "10.9"
in our CI YAML'senv
does not help since in [c++] RefactorSOMAArray
andSOMAGroup
to inherit fromSOMAObject
#2124 we set-mmacosx-version-min=11.0
to support usage of C++17 featurestd::filesystem::path
, which overrides the envtiledbsoma-VERSIONHERE-cp311-cp311-macosx_11_0_arm64.whl
totiledbsoma-VERSIONHERE-cp311-cp311-macosx_14_0_arm64.whl
does not work, and in fact is a step in the wrong direction: since macos14 self-reports as 10.9 withinpip install
as shown above.tiledbsoma-VERSIONHERE-cp311-cp311-macosx_11_0_arm64.whl
totiledbsoma-VERSIONHERE-cp311-cp311-macosx_10_9_arm64.whl
does work, since macos 14 self-reports as 10.9 atpip install
time.Laptop details
With macos 14 and Python 3.9:
Note this exact logic -- successful on laptop -- fails as of
https://github.com/single-cell-data/TileDB-SOMA/actions/runs/9198109199/job/25300662543
for commit d793416
Using https://hub.docker.com/r/sickcodes/docker-osx -- macos-on-macos Docker -- with Python 3.11 I found that the trick which worked on my laptop (macos 14 with Python 3.9), and which fails in CI here with macos 14 and Python 3.11, also fails in
sickcodes/docker-osx
with Python 3.11.In short it seems that the renaming trick from https://stackoverflow.com/questions/65888506/error-wheel-whl-is-not-a-supported-wheel-on-this-platform works in Python 3.9 but not 3.11.
Also note: supposedly-macos-on-macos
sickcodes/docker-osx:latest
isn't really:Also, why doesn't
pip install tiledbsoma
(from PyPI) fail on my Mac?-- it doesn't appear to be using the
.whl
file ...Also note: on my
arm64
mac withmacos-14
:However even
macos12+arm64
runners in GHA misbehave:https://github.com/single-cell-data/TileDB-SOMA/actions/runs/9198915278/job/25302688619
See also
pypa/[email protected]
whereas newer versions exist https://github.com/pypa/cibuildwheel/releases/tag/v2.18.1 👀 🤔 ... this turns out not to help here